.\"	$OpenBSD: usbf.4,v 1.7 2013/07/16 16:05:49 schwarze Exp $
.\"
.\" Uwe Stuehler, 2006. Public Domain.
.\"
.Dd $Mdocdate: July 16 2013 $
.Dt USBF 4
.Os
.Sh NAME
.Nm usbf
.Nd introduction to Universal Serial Bus function support
.Sh SYNOPSIS
.\" XXX SYNOPSIS should be similar to usb.4
.Cd "usbf* at pxaudc?	# zaurus"
.Cd "cdcef* at usbf?"
.Sh DESCRIPTION
.Ox
provides machine-independent bus support and drivers for Universal Serial
Bus
.Pq Tn USB
functions, making it possible in principle for machines running
.Ox
to act as
.Tn USB
device to a
.Tn USB
host.
.Pp
The
.Ox
.Nm
driver has three layers: the controller, the logical device, and the
function layer.
The controller attaches to a physical bus.
The logical device attaches to the controller and the function attaches
to the logical device.
.Pp
Function drivers implement the characteristics of a particular
.Tn USB
device class that the
.Tn USB
host will see when the device is connected to the bus.
.\" .Pp
.\" See
.\" .Xr usbf 9
.\" for a description of the kernel programming interfaces for
.\" .Tn USB
.\" function support.
.Sh SUPPORTED FUNCTIONS
.Ox
includes the following machine-independent
.Tn USB
function drivers, sorted by device type and driver name:
.Ss Communication devices
.Bl -tag -width 12n -offset ind -compact
.It Xr cdcef 4
Communication Device Class Ethernet Emulation Model
.Tn USB
network adapter.
.El
.Sh SEE ALSO
.Xr cdcef 4 ,
.Xr intro 4 ,
.Xr pxaudc 4
.\" .Xr usbf 9
.Sh HISTORY
The
.Nm
driver first appeared in
.Ox 4.1 .
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written by
.An Uwe Stuehler Aq Mt uwe@openbsd.org .
